<!DOCTYPE html>
            
<HTML>
<HEAD>
<meta name="booktitle" content="Developing Applications With Objective Caml" >
 <meta charset="ISO-8859-1"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<META name="GENERATOR" content="hevea 1.05-7 of 2000-02-24">
<META NAME="Author" CONTENT="Christian.Queinnec@lip6.fr">
<LINK rel=stylesheet type="text/css" href="videoc-ocda.css">
<script language="JavaScript" src="videoc.js"><!--
//--></script>
<TITLE>
 Chapter Outline
</TITLE>
</HEAD>
<BODY class="regularBody">
<A HREF="book-ora128.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora130.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H2>Chapter Outline</H2>Section&nbsp;1 illustrates Objective CAML modules on the example of the
<TT>Stack</TT> module from the standard library, and develops an
alternate implementation of this module with the same interface.
Section&nbsp;2 introduces the module language of Objective CAML
in the case of simple modules, and shows some of its uses. In
particular, we discuss type sharing between modules.
Section&nbsp;3 covers parameterized modules, which are called
functors in Objective CAML. Finally, section&nbsp;4 develops an extended
example of modular programming: managing bank accounts with multiple
views (the bank, the customer) and several parameters.<BR>
<BR>
<HR>
<A HREF="book-ora128.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora130.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
